﻿using MetroFramework.Forms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Database.Model;
using Database.Control;
using System.Globalization;
using Database;

namespace ProjectZero
{
    public partial class CadastroEmpresa : MetroForm
    {
        Int64 id = 0;

        public CadastroEmpresa()
        {
            InitializeComponent();
        }

        public CadastroEmpresa(Int64 idEmpresa)
        {
            InitializeComponent();
            id = idEmpresa;
            tela();
        }

        private void tela()
        {
            CAD_EMPRESA empresa = CAD_EMPRESA.Find(id);

            txtRazao.Text = empresa.RAZAO;
            txtSite.Text = empresa.SITE;
            txtTelefone.Text = empresa.TELEFONE;
            txtNome.Text = empresa.NOME_FANTASIA;
            txtEmail.Text=empresa.EMAIL;
            txtCnpj.Text=empresa.CNPJ;
        }

        private void salva()
        {
            try
            {
                if (id == 0)
                {
                    CAD_EMPRESA empresa = new CAD_EMPRESA();

                    empresa.RAZAO = txtRazao.Text;
                    empresa.CNPJ = txtCnpj.Text;
                    empresa.NOME_FANTASIA = txtNome.Text;
                    empresa.TELEFONE = txtTelefone.Text;
                    empresa.EMAIL = txtEmail.Text;
                    empresa.SITE = txtSite.Text;

                    empresa.Create();
                }
                else
                {
                    CAD_EMPRESA empresa = CAD_EMPRESA.Find(id);
                    empresa.RAZAO = txtRazao.Text;
                    empresa.CNPJ = txtCnpj.Text;
                    empresa.NOME_FANTASIA = txtNome.Text;
                    empresa.TELEFONE = txtTelefone.Text;
                    empresa.EMAIL = txtEmail.Text;
                    empresa.SITE = txtSite.Text;

                    empresa.Save();
                }
            }
            catch (Exception exe)
            {
                MessageBox.Show("Erro ao resgatar registro!\nDescrição do erro:\n " + exe, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        private void btnSalvar_Click(object sender, EventArgs e)
        {
            salva();
        }

        private void excluirEmpresa()
        {
            CAD_EMPRESA empresa = CAD_EMPRESA.Find(id);
            empresa.deleta();
            this.Close();
        }

        private void btnExcluir_Click(object sender, EventArgs e)
        {
            excluirEmpresa();
        }
    }
}
